<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 构造函数
        function Person(name, age) {
            // 构造函数内 添加属性
            this.name = name;
            this.age = age;
        }

        // 静态方法 - 存在构造函数身上的
        Person.jump = function(name) {
            console.log(name + "跳了");
        }

        // 原型方法 - 存在原型对象上的
        Person.prototype.run = function() {
            // console.log(this.name);
            console.log(this.name + "跑了");
        }

        // 工人
        function Worker(name, age, money, company) {
            // 继承属性
            Person.call(this, name, age)
            this.money = money;
            this.company = company;
        }
        // 继承方法
        Worker.prototype = new Person();
        Worker.prototype.constructor = Worker;

        let w1 = new Worker('小高', 18, 15000, "美团");

        console.log(w1);

        w1.run();

        // 静态方法无法继承
        // Worker.jump('哈哈哈');




        // let p1 = new Person('小李', 22)
        // console.log(p1);


        // 
        // Promise.race()
        // Promise.all()
        // Promise.resolve()
        // Promise.reject();

        // Person.jump('小李');

        // p1.run();

        // p.then()


        // 原型对象
    </script>
</body>

</html>